﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing.Imaging;
using System.Runtime.InteropServices;
using System.ComponentModel;
using System.Windows.Media;

namespace GenTheme.Theme
{
    public class VThemeBinding : INotifyPropertyChanged
    { 
        private VisualTheme theme;

        public VisualTheme Value
        {
            get
            {
                return theme;
            }
            set
            {
                theme = value;
                this.OnPropertyChanged("Value");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;

        protected void OnPropertyChanged(string name)
        {
            PropertyChangedEventHandler handler = PropertyChanged;
            if (handler != null)
            {
                handler(this, new PropertyChangedEventArgs(name));
            }
        }
    }

    public class VisualTheme : Theme
    {
        public Color Background = Colors.AntiqueWhite;

        public VisualTheme(int width, int length) : base(width, length, typeof(VisualRow))
        { 
        }

        public VisualTheme(List<Color?>[] aLtj) : base(aLtj, typeof(VisualRow))
        { 
        }
    }
}
